Amazon DocumentDB এর মধ্যে ডেটাবেস এবং Collections গুরুত্বপূর্ণ উপাদান। MongoDB-র মতোই, DocumentDB তেও ডেটা সংরক্ষণের জন্য ডেটাবেস এবং Collections ব্যবহার করা হয়। এগুলি ডেটাবেস ম্যানেজমেন্ট এবং ডেটা সংরক্ষণে গুরুত্বপূর্ণ ভূমিকা পালন করে।
ডেটাবেজ (Database)
DocumentDB তে, একটি ডেটাবেজ একটি লজিক্যাল ইউনিট যা এক বা একাধিক Collections ধারণ করে। এটি ডেটার সংরক্ষণ এবং পরিচালনার জন্য একটি বড় ধারণাগত কাঠামো প্রদান করে। ডেটাবেজ একটি নির্দিষ্ট কাঠামো এবং কনফিগারেশন অনুযায়ী সংগঠিত থাকে এবং এটি সমস্ত ডেটার সুরক্ষা, ব্যাকআপ এবং পারফরম্যান্স সম্পর্কিত নির্দেশনা দেয়।
ডেটাবেজের বৈশিষ্ট্যসমূহ:
- লজিক্যাল সংগঠন: ডেটাবেজ হল একটি লজিক্যাল ধারণা যা একাধিক Collections ধারণ করে।
- ডেটা বিচ্ছিন্নতা: ডেটাবেজ ব্যবহার করে ডেটাকে একে অপর থেকে বিচ্ছিন্ন করা যায়, যাতে এক ডেটাবেজের ডেটা অন্য ডেটাবেজের ডেটা থেকে নিরাপদ থাকে।
- অপারেশন সাপোর্ট: একটি ডেটাবেজের মধ্যে সমস্ত CRUD (Create, Read, Update, Delete) অপারেশন করা যায়। তবে, DocumentDB বর্তমানে ACID ট্রানজাকশন সমর্থন করে না, তাই ডেটাবেজের মধ্যে ম্যানেজড ট্রানজাকশন ব্যবহার করা উচিত।
Collections
DocumentDB তে, একটি Collection হলো একটি ডেটাবেজের ভিতরে ডকুমেন্টের একটি গ্রুপ। প্রতিটি Collection সাধারণত JSON (JavaScript Object Notation) ফরম্যাটে ডকুমেন্ট ধারণ করে। একাধিক ডকুমেন্ট একটি Collection-এ সংরক্ষিত থাকে।
Collection এর বৈশিষ্ট্যসমূহ:
- ডকুমেন্ট স্টোরেজ: Collection একটি নির্দিষ্ট ধরনের ডকুমেন্ট ধারণ করে। প্রতিটি ডকুমেন্ট হল একটি JSON অবজেক্ট, যেটি ডেটা সংরক্ষণের জন্য একটি স্ট্রাকচার (যেমন: নাম, বয়স, ঠিকানা ইত্যাদি) ধারণ করে।
- স্কিমাহীন: Collections স্কিমাহীন (schema-less) হয়, অর্থাৎ প্রতিটি ডকুমেন্ট একটি Collection-এ বিভিন্ন স্ট্রাকচারে থাকতে পারে। উদাহরণস্বরূপ, একটি Collection-এ কিছু ডকুমেন্টের মধ্যে age ফিল্ড থাকতে পারে, আবার অন্য ডকুমেন্টে সেটি নাও থাকতে পারে।
- ডকুমেন্টের ইনডেক্সিং: প্রতিটি Collection-এ প্রাথমিকভাবে একটি ইনডেক্স থাকে, যা ডেটার অনুসন্ধান এবং প্রশ্ন করার পারফরম্যান্স উন্নত করে। এছাড়াও, সেকেন্ডারি ইনডেক্স তৈরি করা যায়, যা আরও জটিল কুয়েরি সমর্থন করে।
Collection এর উদাহরণ:
{
"_id": 1,
"name": "John Doe",
"age": 30,
"address": "1234 Elm Street"
}
এটি একটি JSON ডকুমেন্ট যা একটি Collection-এ সংরক্ষিত হতে পারে। ডকুমেন্টের মধ্যে _id (প্রাথমিক ইনডেক্স) সাধারণত DocumentDB এবং MongoDB দ্বারা স্বয়ংক্রিয়ভাবে তৈরি হয়।
ডেটাবেজ এবং Collections এর মধ্যে পার্থক্য
- ডেটাবেজ: এটি একটি উচ্চ স্তরের ধারণা যা এক বা একাধিক Collection ধারণ করে।
- Collection: এটি ডেটাবেজের একটি কম্পোনেন্ট যা একাধিক ডকুমেন্ট ধারণ করে এবং ডেটা সংরক্ষণের জন্য ব্যবহৃত হয়।
ডেটাবেজ এবং Collection ব্যবহারের কিছু কেস:
- ডেটাবেজ: যদি আপনি একাধিক Application বা Environment থেকে আলাদা আলাদা ডেটা সংরক্ষণ করতে চান, তবে আলাদা আলাদা ডেটাবেজ তৈরি করবেন।
- Collection: যদি আপনি একটি নির্দিষ্ট ধরনের ডেটা যেমন ব্যবহারকারীর তথ্য, অর্ডারের বিবরণ, বা পণ্যের বিবরণ সংরক্ষণ করতে চান, তবে আপনি সেই ধরনের ডেটার জন্য Collection তৈরি করবেন।
সারাংশ
DocumentDB তে ডেটাবেজ এবং Collections ডেটার সংগঠন এবং ব্যবস্থাপনাকে সহজ এবং কার্যকরী করে তোলে। ডেটাবেজগুলি বিভিন্ন Collection ধারণ করে, এবং প্রতিটি Collection বিভিন্ন ধরনের ডকুমেন্ট ধারণ করতে সক্ষম। এটি একটি স্কিমাহীন পদ্ধতি ব্যবহার করে, যার ফলে ডেটা ম্যানেজমেন্ট আরও নমনীয় এবং আড়ম্বরপূর্ণ হয়।